Structures de test en assembleur 8051 |
La mise en œuvre des structures de test en assembleur 8051 est limitée par le faible nombre d'instruction de branchement conditionnel en 8051. L'architecture générale d'une structure de test du type :
si (condition) alors traitement si vrai
sinon traitement
si faux
fin si
est donc :
si: |
Jxxx sivrai |
conditions |
|
… |
traitement si faux |
finsi: |
… |
suite du programme |
|
… |
|
|
ljmp
debut |
fin du programme |
sivrai |
… |
traitement si vrai |
|
ljmp finsi |
retour à finsi |
|
|
|
Par exemple la structure de test suivante :
si (X=3) alors n=1
sinon n=2
finsi
se traduit en assembleur 8051, en admettant que X est stocké dans A et n dans R0 :
debut: mov A,#04h
cjne
A,#03h,sivrai
mov R0,#02h
finsi: ljmp debut
sivrai: mov R0,#01h
ljmp finsi